<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .title {
            color: red;
            font-size: 20px;
        }
    </style>
</head>

<body>
<!-- 定义一个容器 -->
<div id="box"></div>

<!-- 引入react核心库 -->
<script type="text/javascript" src="../js/react.development.js"></script>
<!-- 引入react-domm库 用于操作dom -->
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<!-- 引入babel,用于将jsx转换为js -->
<script type="text/javascript" src="../js/babel.min.js"></script>

<script type="text/babel">
    const idName = 'toUp'
    const myData = "hello world"
    // 创建虚拟dom
    const VDOM = (
        <div>
            <h2 className='title' id={idName.toLocaleLowerCase()}>
                        <span style={{color: 'pink', fontSize: '60px'}}>
                            {myData.toLocaleUpperCase()}
                        </span>
                123
            </h2>
            <good>123</good>
        </div>
    )

    /*
    jsx语法规则
        1,虚拟dom不要写引号
        2,标签混合引入时js表达式需要使用{}
        3,样式class混用是需要使用className而不是class
        4,内联样式要使用style={{color: 'white',font-size: '20px'}} 的形式写
        5,标签必须闭合
        6,只能有一个根标签
        7,标签首字母
            1,首字母小写，react会将标签转换成html标签进行查找，若html中无同名标签就会报错
            2,首字母大写，react会渲染对应组件，若组件未被定义则会报错
    */
    // 渲染元素
    ReactDOM.render(VDOM, document.getElementById("box"))
</script>

</body>

</html>